/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modeladesktop.algoritmo;

import modeladesktop.gui.Analisis;

/**
 *
 * @author ddhernan
 */
public class Desviation {
    public Desviation(){}

    public static double[] getDataSet(double[][] datas){
        double[] dataSet=new double[datas.length];
        for(int i=0;i<datas.length;i++){
            dataSet[i]=datas[i][0];
        }
        //Desviacion Explicada
        return dataSet;
   }

    public static double[] calcTotal(Analisis analizado,double[] dep, double[] depPredecida,double mean){
        double sctTemp=0;
        double[] desvTotal=new double[dep.length];
        for(int i=0;i<dep.length;i++){
        //Desviacion Total
        desvTotal[i] =dep[i]-mean;
        sctTemp+=((desvTotal[i])*(desvTotal[i]));
        }
        analizado.desviacionTotal=desvTotal;
        analizado.sct=sctTemp;
        return desvTotal;
    }

	public static double[] calcExplicada(Analisis analizado, double[] dep, double[] depPredecida, double mean){
		double scrTemp=0;
		double[] desvExplicada = new double[dep.length];
		for(int i=0;i<dep.length;i++){
		//Desviacion Explicada
			desvExplicada[i]=depPredecida[i]-mean;
			scrTemp+=((desvExplicada[i])*(desvExplicada[i]));
		}
		analizado.scr=scrTemp;
		analizado.desviacionExplicada=desvExplicada;
		return desvExplicada;
    }

    public static double[] calcNoExplicada(Analisis analizado,double[] dep,double[] depPredecida){
        double sceTemp=0;
        double[] desvNoExplicada = new double[dep.length];
        for(int i=0;i<dep.length;i++){
        //Desviacion No Explicada
        desvNoExplicada[i]=dep[i]-depPredecida[i];
        sceTemp+=((desvNoExplicada[i])*(desvNoExplicada[i]));
       }
       analizado.sce=sceTemp;
       analizado.desviacionNoExplicada=desvNoExplicada;
       return desvNoExplicada;
    }

}
